package com.pearl.mybatis.demo.flex;

import com.mybatisflex.codegen.Generator;
import com.mybatisflex.codegen.config.GlobalConfig;
import com.zaxxer.hikari.HikariDataSource;

/**
 * @author TangDan
 * @version 1.0
 * @since 2023/5/6
 */
public class CodegenUtils {

    public static void main(String[] args) {

        // 配置数据源
        HikariDataSource dataSource = new HikariDataSource();
        dataSource.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/study?characterEncoding=utf-8");
        dataSource.setUsername("root");
        dataSource.setPassword("123456");

        // 创建配置内容
        GlobalConfig globalConfig = new GlobalConfig();

        // 设置只生成哪些表
        globalConfig.addGenerateTable("user");

        //设置 entity 的包名
        globalConfig.setEntityPackage("com.pearl.mybatis.demo.flex.entity");

        // 设置 mapper 类的包名
        globalConfig.setMapperGenerateEnable(true);
        globalConfig.setMapperPackage("com.pearl.mybatis.demo.flex.mapper");

        // 通过 datasource 和 globalConfig 创建代码生成器
        Generator generator = new Generator(dataSource, globalConfig);

        //生成代码
        generator.generate();
    }
}
